﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using AcademiaInteligenteData.BLL;
using AcademiaInteligenteData;
using FuncionarioInteligenteData.BLL;
using AcademiaInteligenteData.DML;
using AcademiaInteligenteData.DAL;

namespace WSAcademiaInteligente
{
    /// <summary>
    /// Summary description for WsAcademiaInteligente
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    [System.Web.Script.Services.ScriptService]
    public class WsAcademiaInteligente : System.Web.Services.WebService
    {
        #region Mobile

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string Login(string login, string senha)
        {
            try
            {
                Cliente cliente = new BoCliente().SelecionarClientePorLoginSenha(login, senha);
                if (cliente != null)
                {
                    string result = string.Empty;
                    foreach (var item in cliente.ClienteAcademia)
                    {
                        result += "{\"id\":\"" + item.Academia.Id + "\",\"fantasia\":\"" + item.Academia.Fantasia + "\",\"telefone\":\"" + item.Academia.Fone + "\",\"endereco\":\"" + item.Academia.Endereco + "\",\"numero\":\"" + item.Academia.Numero + "\",\"bairro\":\"" + item.Academia.Bairro + "\",\"cep\":\"" + item.Academia.Cep + "\",\"cnpj\":\"" + item.Academia.Cnpj + "\",\"estado\":\"" + item.Academia.Estado + "\",\"cidade\":\"" + item.Academia.Cidade + "\"}";
                    }
                    return "{\"code\":\"200\",\"id\":\"" + cliente.Id + "\",\"nome\":\"" + cliente.Nome + "\",\"academias\":[" + result + "]}";
                }
                else
                {
                    return "{\"code\":\"500\"}";
                }
            }
            catch
            {
                return "{\"code\":500}";
            }
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string Modalidades()
        {
            List<Modalidade> modalidades = new BoModalidade().ListarModalidades();
            string result = string.Empty;
            foreach (var item in modalidades)
            {
                result += "{\"id\":\"" + item.Id + "\",\"descricao\":" + item.Descricao + "}";
            }
            if (!string.IsNullOrEmpty(result))
            {
                result = "{\"code\":\"407\",\"modalidades:[\"" + result + "\"]}";
            }
            return result;
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string SelecionarPlanoExercicio(int idCliente, int idAcademia)
        {
            BoPlanoExercicio boPlanoExercicio = new BoPlanoExercicio();
            List<PlanoExercicio> planoExercicio = boPlanoExercicio.SelecionarPlanoExercicioPorAcademiaCliente(idAcademia, idCliente);
            string result = string.Empty;
            foreach (var item in planoExercicio)
            {
                List<Plano_Exercicio_Frequencia> planoFrequencia = boPlanoExercicio.SelecionarPlanoExercicioFrequenciaPorPlanoExercicio(item.id);
                string frequencias = string.Empty;
                foreach (var frequencia in planoFrequencia)
                {
                    result += "{\"id\":\"" + item.id + "\",\"modalidade\":\"" + item.Modalidade.Descricao + "\",\"exercicio\":\"" + item.Exercicio.descricao + "\",\"maquina\":\"" + item.Maquina.descricao + "\",\"serie\":\"" + item.serie + "\",\"quantidade\":\"" + item.quantidade + "\",\"tempo\":\"" + item.tempo + "\",\"concluido\":\"" + frequencia.concluido.ToString() + "\",\"data\":\"" + frequencia.data.ToString() + "\",\"idPlanoExercicioFrequencia\":\"" + frequencia.id + "\"},";
                }
            }
            if (!string.IsNullOrEmpty(result))
            {
                result = "{\"code\":\"407\",\"plano_exercicios\":[" + result.Substring(0, result.Length - 1) + "]}";
            }
            return result;
        }
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string AtualizarPlanoFrequencia(int idPlanoFrequencia)
        {

            new BoPlanoExercicio().ConcluirPlanoExercicioFrequencia(idPlanoFrequencia);
            return "{\"code\":\"200\"}";
        }
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string ListarAcademias()
        {
            List<Academia> academias = new BoAcademia().ListarAcademia();
            string result = string.Empty;
            foreach (var item in academias)
            {
                string modalidades = string.Empty;
                foreach (var modalidade in item.Modalidade)
                {
                    modalidades += "{\"id\":\"" + modalidade.Id + "\",\"descricao\":\"" + modalidade.Descricao + "\"},";
                }
                result += "{\"id\":\"" + item.Id + "\",\"fantasia\":\"" + item.Fantasia + "\",\"telefone\":\"" + item.Fone + "\",\"endereco\":\"" + item.Endereco + "\",\"numero\":\"" + item.Numero + "\",\"bairro\":\"" + item.Bairro + "\",\"cep\":\"" + item.Cep + "\",\"cnpj\":\"" + item.Cnpj + "\",\"estado\":\"" + item.Cnpj + "\",\"cidade\":\"" + item.Cidade + "\",\"modalidades\":[" + (modalidades.Length > 0 ? modalidades.Substring(0, modalidades.Length - 1) : string.Empty) + "]},";
            }
            return "{\"code\":\"200\",\"academias\":[" + (result.Length > 0 ? result.Substring(0, result.Length - 1) : string.Empty) + "]}";
        }

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string ListarEventos(int idAcademia)
        {
            List<Evento> eventos = new BoEvento().SelecionarEventosPorAcademia(idAcademia);
            string result = string.Empty;
            foreach (var item in eventos)
            {
                result += "{\"id\":\"" + item.Id + "\",\"descricao\":\"" + item.Descricao + "\",\"data\":\"" + item.Data.Value.ToString("dd/MM/yyyy HH:mm") + "\"}";
            }
            return "[" + result + "]";
        }
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string AssociarAcademia(int idAcademia, int idCliente)
        {
            new BoCliente().AssociarAcademia(idAcademia,idCliente);
            return "{\"code\":\"200\"}";
        }

        #endregion


        #region Modalidades

        [WebMethod]
        public List<Modalidade> ListarModalidades()
        {
            return new BoModalidade().ListarModalidades();
        }

        [WebMethod]
        public void InserirModalidade(Modalidade modalidade)
        {
            new BoModalidade().InserirModalidade(modalidade);
        }

        [WebMethod]
        public void AlterarModalidade(Modalidade modalidade)
        {
            new BoModalidade().AlterarModalidade(modalidade);
        }

        [WebMethod]
        public void InserirModalidadeHorario(Modalidade_Horario modalidade)
        {
            new BoModalidade().InserirModalidadeHorario(modalidade);
        }

        [WebMethod]
        public void AlterarModalidadeHorario(Modalidade_Horario modalidade)
        {
            new BoModalidade().AlterarModalidadeHorario(modalidade);
        }

        [WebMethod]
        public void ExcluirModalidade(int id)
        {
            new BoModalidade().ExcluirModalidade(id);
        }

        [WebMethod]
        public List<Modalidade> SelecionarModalidadePorAcademia(int idAcademia)
        {
            return new BoModalidade().SelecionarModalidadePorAcademia(idAcademia);
        }
        [WebMethod]
        public List<Modalidade_Horario> SelecionarModalidadeHorarioPorModalidade(int idModalidade)
        {
            return new BoModalidade().SelecionarModalidadeHorarioPorModalidade(idModalidade);
        }
        [WebMethod]
        public List<Modalidade_Horario> ListarModalidadeHorarioPorCliente(int idCliente)
        {
            return new BoModalidade().ListarModalidadeHorarioPorCliente(idCliente);
        }

        #endregion

        #region Metodos TipoModalidade
        [WebMethod]
        public List<TipoModalidade> SelecionaTipoModalidade()
        {
            return new BoTipoModalidade().SelecionaTipoModalidade();
        }

        [WebMethod]
        public void inserirTipoModalidade(TipoModalidade tipoModalidade)
        {
            new BoTipoModalidade().inserirTipoModalidade(tipoModalidade);
        }

        [WebMethod]
        public void alterarTipoModalidade(TipoModalidade tipoModalidade)
        {
            new BoTipoModalidade().alterarTipoModalidade(tipoModalidade);
        }

        #endregion

        #region Metodos Academia
        [WebMethod]
        public void InserirAcademia(Academia academia)
        {
            new BoAcademia().InserirAcademia(academia);
        }
        [WebMethod]
        public void AlterarAcademia(Academia academia)
        {
            new BoAcademia().AlterarAcademia(academia);
        }
        [WebMethod]
        public Academia SelecionarAcademia(int idAcademia)
        {
            return new BoAcademia().SelecionarAcademia(idAcademia);
        }
        [WebMethod]
        public List<Academia> ListarAcademia()
        {
            return new BoAcademia().ListarAcademia();
        }
        [WebMethod]
        public void ExcluirAcademia(int idAcademia)
        {
            new BoAcademia().ExcluirAcademia(idAcademia);
        }
        [WebMethod]
        public void TesteDeMetodo()
        {
        }
        #endregion

        #region Metodos Funcionarios
        [WebMethod]
        public void InserirFuncionario(Funcionario funcionario)
        {
            new BoFuncionario().InserirFuncionario(funcionario);
        }
        [WebMethod]
        public void AlterarFuncionario(Funcionario funcionario)
        {
            new BoFuncionario().AlterarFuncionario(funcionario);
        }
        [WebMethod]
        public Funcionario SelecionarFuncionario(int idFuncionario)
        {
            return new BoFuncionario().SelecionarFuncionario(idFuncionario);
        }
        [WebMethod]
        public List<Funcionario> SelecionarFuncionariosPorAcademia(int idAcademia, int idEvento)
        {
            return new BoFuncionario().SelecionarFuncionariosPorAcademia(idAcademia, idEvento);
        }
        [WebMethod]
        public Funcionario SelecionarFuncionarioPorLoginSenha(string login, string senha)
        {
            return new BoFuncionario().SelecionarFuncionarioPorLoginSenha(login, senha);
        }
        [WebMethod]
        public void ExcluirFuncionario(int idFuncionario)
        {
            new BoFuncionario().ExcluirFuncionario(idFuncionario);
        }
        [WebMethod]
        public void RemoverFuncionarioModalidade(int idFuncionario, int idModalidade)
        {
            new BoFuncionario().RemoverFuncionarioModalidade(idFuncionario, idModalidade);
        }
        [WebMethod]
        public void InserirFuncionarioModalidade(int idFuncionario, int idModalidade)
        {
            new BoFuncionario().InserirFuncionarioModalidade(idFuncionario, idModalidade);
        }
        [WebMethod]
        public List<Funcionario> ListarFuncionariosTipoInstrutor()
        {
            return new BoFuncionario().ListarFuncionariosTipoInstrutor();
        }
        [WebMethod]
        public List<Funcionario> SelecionarFuncionariosPorAcademiaEvento(int idAcademia, int idEvento)
        {
            return new BoFuncionario().SelecionarFuncionariosPorAcademiaEvento(idAcademia,idEvento);
        }
        
        #endregion

        #region Metodos Evento
        [WebMethod]
        public void InserirEvento(Evento evento)
        {
            new BoEvento().InserirEvento(evento);
        }
        [WebMethod]
        public void AlterarEvento(Evento evento)
        {
            new BoEvento().AlterarEvento(evento);
        }
        [WebMethod]
        public Evento SelecionarEvento(int idEvento)
        {
            return new BoEvento().SelecionarEvento(idEvento);
        }
        [WebMethod]
        public List<Evento> SelecionarEventoPorAcademia(int idAcademia)
        {
            return new BoEvento().SelecionarEventosPorAcademia(idAcademia);
        }
        [WebMethod]
        public void ExcluirEvento(int idEvento)
        {
            new BoEvento().ExcluirEvento(idEvento);
        }
        [WebMethod]
        public void InserirEventoAmbiente(int idEvento, int Ambiente)
        {
            new BoEvento().InserirEventoAmbiente(idEvento, Ambiente);
        }
        [WebMethod]
        public void RemoverEventoAmbiente(int idEvento, int Ambiente)
        {
            new BoEvento().RemoverEventoAmbiente(idEvento, Ambiente);
        }

        [WebMethod]
        public void InserirEventoInstrutor(int idEvento, int idInstrutor)
        {
            new BoEvento().InserirEventoInstrutor(idEvento, idInstrutor);
        }
        [WebMethod]
        public void RemoverEventoInstrutor(int idEvento, int idInstrutor)
        {
            new BoEvento().RemoverEventoInstrutor(idEvento, idInstrutor);
        }
        [WebMethod]
        public Funcionario SelecionarInstrutorDoEvento(int idEvento)
        {
            return new BoEvento().SelecionarInstrutorDoEvento(idEvento);
        }
        [WebMethod]
        public List<Evento> ListarAlunosEventoPorInstrutor(int idInstrutor)
        {
            return new BoEvento().ListarAlunosEventoPorInstrutor(idInstrutor);
        }

        #endregion

        #region Metodos Ambientes
        [WebMethod]
        public void InserirAmbiente(Ambiente ambiente)
        {
            new BoAmbiente().InserirAmbiente(ambiente);
        }
        [WebMethod]
        public void AlterarAmbiente(Ambiente ambiente)
        {
            new BoAmbiente().AlterarAmbiente(ambiente);
        }
        [WebMethod]
        public Ambiente SelecionarAmbiente(int idAmbiente)
        {
            return new BoAmbiente().SelecionarAmbiente(idAmbiente);
        }
        [WebMethod]
        public List<Ambiente> SelecionarAmbientePorAcademia(int idAcademia, int idEvento = 0)
        {
            return new BoAmbiente().SelecionarAmbientesPorAcademia(idAcademia, idEvento);
        }
        [WebMethod]
        public void ExcluirAmbiente(int idAmbiente)
        {
            new BoAmbiente().ExcluirAmbiente(idAmbiente);
        }
        [WebMethod]
        public List<Ambiente> ListarAmbiente()
        {
            return new BoAmbiente().ListarAmbiente();
        }

        #endregion

        #region Metodos Maquinas
        [WebMethod]
        public void InserirMaquina(Maquina maquina)
        {
            new BoMaquina().InserirMaquina(maquina);
        }
        [WebMethod]
        public void AlterarMaquina(Maquina maquina)
        {
            new BoMaquina().AlterarMaquina(maquina);
        }
        [WebMethod]
        public Maquina SelecionarMaquina(int id)
        {
            return new BoMaquina().SelecionarMaquina(id);
        }
        [WebMethod]
        public List<Maquina> ListarMaquina()
        {
            return new BoMaquina().ListarMaquina();
        }
        [WebMethod]
        public void ExcluirMaquina(int idMaquina)
        {
            new BoMaquina().ExcluirMaquina(idMaquina);
        }
        #endregion

        #region Metodos Cliente

        [WebMethod]
        public void InserirCliente(Cliente cliente)
        {
            new BoCliente().InserirCliente(cliente);
        }

        [WebMethod]
        public void AlterarCliente(Cliente cliente)
        {
            new BoCliente().AlterarCliente(cliente);
        }
        [WebMethod]
        public void ExcluirCliente(int idcliente)
        {
            new BoCliente().ExcluirCliente(idcliente);
        }
        [WebMethod]
        public List<Cliente> SelecionarClientePorAcademia(int idAcademia)
        {
            return new BoCliente().SelecionarClientePorAcademia(idAcademia);
        }
        [WebMethod]
        public void RemoverClienteModalidade(int idCliente, int idModalidade, int idAcademia)
        {
            new BoCliente().RemoverClienteModalidade(idCliente, idModalidade, idAcademia);
        }
        [WebMethod]
        public void InserirClienteModalidade(int idCliente, int idModalidade, int idAcademia, double valor)
        {
            new BoCliente().InserirClienteModalidade(idCliente, idModalidade, idAcademia, valor);
        }
        [WebMethod]
        public Cliente SelecionarCliente(int idCliente)
        {
            return new BoCliente().SelecionarCliente(idCliente);
        }

        [WebMethod]
        public List<Cliente> ListarCliente()
        {
            return new BoCliente().ListarCliente();
        }
        #endregion

        #region Plano Exercicio
        [WebMethod]
        public List<PlanoExercicio> SelecionarPlanoExercicioPorAcademiaCliente(int idAcademia, int idCliente)
        {
            return new BoPlanoExercicio().SelecionarPlanoExercicioPorAcademiaCliente(idAcademia, idCliente);
        }
        [WebMethod]
        public void InserirPlanoExercicio(PlanoExercicio planoExercicio)
        {
            new BoPlanoExercicio().InserirPlanoExercicio(planoExercicio);
        }
        [WebMethod]
        public void AlterarPlanoExercicio(PlanoExercicio planoExercicio)
        {
            new BoPlanoExercicio().AlterarPlanoExercicio(planoExercicio);
        }
        [WebMethod]
        public void ExcluirPlanoExercicioPorID(int id)
        {
            new BoPlanoExercicio().ExcluirPlanoExercicioPorID(id);
        }
        [WebMethod]
        public PlanoExercicio SelecionarPlanoExercicioPorID(int id)
        {
            return new BoPlanoExercicio().SelecionarPlanoExercicioPorID(id);
        }
        [WebMethod]
        public void InserirPlanoExercicioFrequencia(Plano_Exercicio_Frequencia planoExercicioFrequencia) { new BoPlanoExercicio().InserirPlanoExercicioFrequencia(planoExercicioFrequencia); }
        [WebMethod]
        public void AlterarPlanoExercicioFrequencia(Plano_Exercicio_Frequencia planoExercicioFrequencia) { new BoPlanoExercicio().AlterarPlanoExercicioFrequencia(planoExercicioFrequencia); }
        [WebMethod]
        public List<Plano_Exercicio_Frequencia> SelecionarPlanoExercicioFrequenciaPorPlanoExercicio(int idPlanoExercicio) { return new BoPlanoExercicio().SelecionarPlanoExercicioFrequenciaPorPlanoExercicio(idPlanoExercicio); }

        #endregion

        #region Metodos Exercicio
        [WebMethod]
        public void InserirExercicio(Exercicio exercicio)
        {
            new BoExercicio().InserirExercicio(exercicio);
        }
        [WebMethod]
        public void AlterarExercicio(Exercicio exercicio)
        {
            new BoExercicio().AlterarExercicio(exercicio);
        }
        [WebMethod]
        public Exercicio SelecionarExercicio(int id)
        {
            BoExercicio boExercicio = new BoExercicio();
            return boExercicio.SelecionarExercicio(id);
            //return new BoExercicio().SelecionarExercicio(idExercicio);
        }
        [WebMethod]
        public List<Exercicio> ListarExercicio()
        {
            BoExercicio boExercicio = new BoExercicio();
            return boExercicio.ListarExercicio();
        }
        [WebMethod]
        public void ExcluirExercicio(int id)
        {
            BoExercicio boExercicio = new BoExercicio();
            boExercicio.ExcluirExercicio(id);

        }
        #endregion

        #region Metodos Dieta
        [WebMethod]
        public void InserirDieta(Dieta dieta)
        {

            BoDieta boDieta = new BoDieta();
            boDieta.InserirDieta(dieta);
        }
        [WebMethod]
        public void AlterarDieta(Dieta dieta)
        {

            BoDieta boDieta = new BoDieta();
            boDieta.AlterarDieta(dieta);
        }
        [WebMethod]
        public void ExcluirDieta(int id)
        {
            BoDieta boDieta = new BoDieta();
            boDieta.ExcluirDieta(id);

        }
        [WebMethod]
        public List<Dieta> SelecionarDieta(int idAlimentacao, int idAcademia)
        {
            return new BoDieta().SelecionarDieta(idAlimentacao, idAcademia);
        }
        [WebMethod]
        public List<Dieta> ListarDieta()
        {
            BoDieta boDieta = new BoDieta();
            return boDieta.ListarDietas();
        }

        [WebMethod]
        public Dieta SelecionarDietaPorID(int id)
        {
            return new BoDieta().SelecionarDietaPorID(id);
        }

        [WebMethod]
        public void InserirAlimentacaoDieta(int idAlimentacao, int idDieta)
        {
            new BoDieta().InserirAlimentacaoDieta(idAlimentacao, idDieta);
        }
        [WebMethod]
        public void RemoverAlimentacaoDieta(int idAlimentacao, int idDieta)
        {
            new BoDieta().RemoverAlimentacaoDieta(idAlimentacao, idDieta);
        }
        #endregion

        #region Metodos Alimentacao
        [WebMethod]
        public void InserirAlimentacao(Alimentacao alimentacao)
        {
            BoAlimentacao boAlimentacao = new BoAlimentacao();
            boAlimentacao.InserirAlimentacao(alimentacao);
        }
        [WebMethod]
        public void AlterarAlimentacao(Alimentacao alimentacao)
        {

            BoAlimentacao boAlimentacao = new BoAlimentacao();
            boAlimentacao.AlterarAlimentacao(alimentacao);
        }
        [WebMethod]
        public void ExcluirAlimentacao(int id)
        {
            BoAlimentacao boAlimentacao = new BoAlimentacao();
            boAlimentacao.ExcluirAlimentacao(id);

        }
        [WebMethod]
        public Alimentacao SelecionarAlimentacao(int id)
        {
            BoAlimentacao boAlimentacao = new BoAlimentacao();
            return boAlimentacao.SelecionarAlimentacao(id);
        }
        [WebMethod]
        public List<Alimentacao> ListarAlimentacao()
        {
            BoAlimentacao boAlimentacao = new BoAlimentacao();
            return boAlimentacao.ListarAlimentacao();
        }
        [WebMethod]
        public List<Alimentacao> SelecionarAlimentacaoPorDieta(int idDieta)
        {
            BoAlimentacao BoAlimentacao = new BoAlimentacao();
            //return BoAlimentacao.SelecionarAlimentacaoPorDieta(idAlimentacao, idDieta);
            return BoAlimentacao.SelecionarAlimentacaoPorDieta(idDieta);
        }
        #endregion

        #region Metodos Cliente_Pagamento
        [WebMethod]
        public void InserirCliente_Pagamento(Cliente_Pagamento id)
        {
            new BoCliente_Pagamento().InserirCliente_Pagamento(id);
        }
        [WebMethod]
        public void AlterarCliente_Pagamento(Cliente_Pagamento Cliente_Pagamento)
        {
            new BoCliente_Pagamento().AlterarCliente_Pagamento(Cliente_Pagamento);
        }
        [WebMethod]
        public Cliente_Pagamento SelecionarCliente_Pagamento(int id)
        {
            BoCliente_Pagamento boCliente_Pagamento = new BoCliente_Pagamento();
            return boCliente_Pagamento.SelecionarCliente_Pagamento(id);

        }
        [WebMethod]
        public List<Cliente_Pagamento> ListarCliente_Pagamento()
        {
            BoCliente_Pagamento boCliente_Pagamento = new BoCliente_Pagamento();
            return boCliente_Pagamento.ListarCliente_Pagamento();
        }
        [WebMethod]
        public void ExcluirCliente_Pagamento(int id)
        {
            BoCliente_Pagamento boCliente_Pagamento = new BoCliente_Pagamento();
            boCliente_Pagamento.ExcluirCliente_Pagamento(id);
        }
        [WebMethod]
        public List<Cliente_Pagamento> ListarClientePagamentoPorCliente(int id)
        {
            BoCliente_Pagamento boCliente_Pagamento = new BoCliente_Pagamento();
            return boCliente_Pagamento.ListarClientePagamentoPorCliente(id);
        }
        #endregion

        #region Metodos PlayList
        [WebMethod]
        public void InserirPlayList(Playlist playlist)
        {
            BoPlaylist boPlaylist = new BoPlaylist();
            boPlaylist.InserirPlaylist(playlist);
        }
        [WebMethod]
        public void AlterarPlayList(Playlist playlist)
        {
            BoPlaylist boPlaylist = new BoPlaylist();
            boPlaylist.AlterarPlaylist(playlist);
        }
        [WebMethod]
        public Playlist SelecionarPlaylistPorID(int id)
        {
            return new BoPlaylist().SelecionarPlaylistPorID(id);
        }
        [WebMethod]
        public List<Playlist> ListarPlaylist()
        {
            return new BoPlaylist().ListarPlaylist();
        }
        [WebMethod]
        public void ExcluirPlaylist(int idPlayList)
        {
            BoPlaylist boPlaylist = new BoPlaylist();
            boPlaylist.ExcluirPlaylist(idPlayList);
        }
        [WebMethod]
        public List<Playlist> SelecionarPlaylistPorAmbiente(int idAmbiente)
        {
            return new BoPlaylist().SelecionarPlaylistPorAmbiente(idAmbiente);
        }
        #endregion

        #region Metodos Musica_Playlist
        [WebMethod]
        public void InserirMusica_Playlist(Musica_Playlist musicaplaylist)
        {
            BoMusica_Playlist boMusica_Playlist = new BoMusica_Playlist();
            boMusica_Playlist.InserirMusica_Playlist(musicaplaylist);
        }
        [WebMethod]
        public void AlterarMusica_Playlist(Musica_Playlist musicaplaylist)
        {
            BoMusica_Playlist boMusica_Playlist = new BoMusica_Playlist();
            boMusica_Playlist.AlterarMusica_Playlist(musicaplaylist);
        }
        [WebMethod]
        public Musica_Playlist SelecionarMusica_PlaylistPorID(int id)
        {
            return new BoMusica_Playlist().SelecionarPlaylistPorID(id);
        }
        [WebMethod]
        public List<Musica_Playlist> ListarMusica_Playlist(int idPlaylist)
        {
            return new BoMusica_Playlist().ListarMusica_Playlist(idPlaylist);
        }
        [WebMethod]
        public void ExcluirMusica_Playlist(int idMusicaPlayList)
        {
            BoMusica_Playlist boMusica_Playlist = new BoMusica_Playlist();
            boMusica_Playlist.ExcluirMusica_Playlist(idMusicaPlayList);
        }
       
        [WebMethod]
        public void AlterarMusica_PlaylistAmbiente(Musica_Playlist musicaplaylist)
        {
            new BoMusica_Playlist().AlterarMusica_PlaylistAmbiente(musicaplaylist);
        }
        [WebMethod]
        public void InserirMusica_PlaylistAmbiente(Musica_Playlist musicaplaylist)
        {
            new BoMusica_Playlist().InserirMusica_PlaylistAmbiente(musicaplaylist);
        }
        [WebMethod]
        public List<Musica_Playlist> SelecionarMusica_PlaylistPorAmbiente(int idAmbiente)
        {
            return new BoMusica_Playlist().SelecionarMusica_PlaylistPorAmbiente(idAmbiente);
        }
        [WebMethod]
        public Musica_Playlist SelecionarMusica_PlaylistAmbientePorID(int id)
        {
            return new BoMusica_Playlist().SelecionarMusica_PlaylistAmbientePorID(id);
        }
        #endregion

    }





}
